package offer_test_60;

import struct.MyStack;

//题目一：输入一个英文句子，翻转句子中单词的顺序，但单词内字符的顺序不变。
//为简单起见，标点符号和普通字母一样处理。例如输入字符串“I am a student.”,则输出“student. a am I”.
//题目二：字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。
//请定义一个函数实现字符串左旋转操作的功能。比如输入字符串“abcdefg”和数字2.该函数左旋转2位得到的结果“cdefgab".
public class two_ReverseWordsInSentence {
	public static void main(String[] args) {
		String str = "I am a student.";
		reverse(str);
		String str2 = "abcdefg";
		reverseQ2(str2, 2);
	}

	public static void reverse(String str) {
		String[] strlist = str.split(" ");
		MyStack stack = new MyStack(100);
		for (String s : strlist) {
			stack.push(s);
		}
		stack.iterator();
	}

	public static void reverseQ2(String str, int num) {
		MyStack stack = new MyStack(100);
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < str.length(); i++) {
			stack.push(str.charAt(i));
			if (i >= num) {
				sb.append(stack.pop());
			}
		}
		MyStack stack2=new MyStack(100);
		while(!stack.isEmpty()) {
			stack2.push(stack.pop());
		}
		while(!stack2.isEmpty()){
			sb.append(stack2.pop());
		}
		System.out.println(sb.toString());
	}
}
